package com.fita.admin.service.agent;

import com.fita.admin.service.DataService;
import com.fita.entity.agent.AgentCompany;

import java.util.List;

/**
 * @description:
 * @author: 11200
 * @date: 2019/6/19
 */
public interface AgentCompanyService extends DataService<AgentCompany> {

    /**
     * 修改公司和公司下代理的销售
     * @param agentCompanyId
     * @param principalId
     */
    void changeSalesperson(Long agentCompanyId, Long principalId);

    /**
     * 计算一级代理的二级代理数量
     * @return
     */
    List calculateSecondaryAgentAmount();

    /**
     * 允许成为一级代理
     * @param agentCompanyId
     */
    void enablePrimaryAgent(Long agentCompanyId);

    /**
     * 禁止成为一级代理
     * @param agentCompanyId
     */
    void disablePrimaryAgent(Long agentCompanyId);

    /**
     * 列出一级代理公司
     * @return
     */
    List<AgentCompany> listPrimaryAgentCompany();
}
